From cfc07fdfcf4811e0edbaf941970ac2653d57afd8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 11 May 2015 23:06:50 -0400 Subject: [PATCH] gtk-demo: Don't rely on gdk_cursor_get_image This function is only implemented on X11. Instead, just use a fixed set of cursor images from resources. --- demos/gtk-demo/Makefile.am | 38 +++++++++++++++++++++++- demos/gtk-demo/alias_cursor.png | Bin 0 -> 1383 bytes demos/gtk-demo/all_scroll_cursor.png | Bin 0 -> 1776 bytes demos/gtk-demo/cell_cursor.png | Bin 0 -> 1155 bytes demos/gtk-demo/col_resize_cursor.png | Bin 0 -> 1479 bytes demos/gtk-demo/copy_cursor.png | Bin 0 -> 1325 bytes demos/gtk-demo/crosshair_cursor.png | Bin 0 -> 985 bytes demos/gtk-demo/cursors.c | 11 +++++-- demos/gtk-demo/default_cursor.png | Bin 0 -> 1252 bytes demos/gtk-demo/demo.gresource.xml | 37 +++++++++++++++++++++++ demos/gtk-demo/e_resize_cursor.png | Bin 0 -> 1289 bytes demos/gtk-demo/ew_resize_cursor.png | Bin 0 -> 1479 bytes demos/gtk-demo/grab_cursor.png | Bin 0 -> 1392 bytes demos/gtk-demo/grabbing_cursor.png | Bin 0 -> 1216 bytes demos/gtk-demo/hand_cursor.png | Bin 0 -> 1416 bytes demos/gtk-demo/help_cursor.png | Bin 0 -> 1549 bytes demos/gtk-demo/move_cursor.png | Bin 0 -> 1601 bytes demos/gtk-demo/n_resize_cursor.png | Bin 0 -> 1287 bytes demos/gtk-demo/ne_resize_cursor.png | Bin 0 -> 1423 bytes demos/gtk-demo/nesw_resize_cursor.png | Bin 0 -> 1248 bytes demos/gtk-demo/no_drop_cursor.png | Bin 0 -> 1176 bytes demos/gtk-demo/none_cursor.png | Bin 0 -> 182 bytes demos/gtk-demo/not_allowed_cursor.png | Bin 0 -> 2280 bytes demos/gtk-demo/ns_resize_cursor.png | Bin 0 -> 1411 bytes demos/gtk-demo/nw_resize_cursor.png | Bin 0 -> 1545 bytes demos/gtk-demo/nwse_resize_cursor.png | Bin 0 -> 1223 bytes demos/gtk-demo/pointer_cursor.png | Bin 0 -> 1416 bytes demos/gtk-demo/progress_cursor.png | Bin 0 -> 1879 bytes demos/gtk-demo/row_resize_cursor.png | Bin 0 -> 1411 bytes demos/gtk-demo/s_resize_cursor.png | Bin 0 -> 1208 bytes demos/gtk-demo/se_resize_cursor.png | Bin 0 -> 1338 bytes demos/gtk-demo/sw_resize_cursor.png | Bin 0 -> 1369 bytes demos/gtk-demo/text_cursor.png | Bin 0 -> 844 bytes demos/gtk-demo/vertical_text_cursor.png | Bin 0 -> 823 bytes demos/gtk-demo/w_resize_cursor.png | Bin 0 -> 1355 bytes demos/gtk-demo/wait_cursor.png | Bin 0 -> 2013 bytes demos/gtk-demo/zoom_in_cursor.png | Bin 0 -> 2289 bytes demos/gtk-demo/zoom_out_cursor.png | Bin 0 -> 2170 bytes 38 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 demos/gtk-demo/alias_cursor.png create mode 100644 demos/gtk-demo/all_scroll_cursor.png create mode 100644 demos/gtk-demo/cell_cursor.png create mode 100644 demos/gtk-demo/col_resize_cursor.png create mode 100644 demos/gtk-demo/copy_cursor.png create mode 100644 demos/gtk-demo/crosshair_cursor.png create mode 100644 demos/gtk-demo/default_cursor.png create mode 100644 demos/gtk-demo/e_resize_cursor.png create mode 100644 demos/gtk-demo/ew_resize_cursor.png create mode 100644 demos/gtk-demo/grab_cursor.png create mode 100644 demos/gtk-demo/grabbing_cursor.png create mode 100644 demos/gtk-demo/hand_cursor.png create mode 100644 demos/gtk-demo/help_cursor.png create mode 100644 demos/gtk-demo/move_cursor.png create mode 100644 demos/gtk-demo/n_resize_cursor.png create mode 100644 demos/gtk-demo/ne_resize_cursor.png create mode 100644 demos/gtk-demo/nesw_resize_cursor.png create mode 100644 demos/gtk-demo/no_drop_cursor.png create mode 100644 demos/gtk-demo/none_cursor.png create mode 100644 demos/gtk-demo/not_allowed_cursor.png create mode 100644 demos/gtk-demo/ns_resize_cursor.png create mode 100644 demos/gtk-demo/nw_resize_cursor.png create mode 100644 demos/gtk-demo/nwse_resize_cursor.png create mode 100644 demos/gtk-demo/pointer_cursor.png create mode 100644 demos/gtk-demo/progress_cursor.png create mode 100644 demos/gtk-demo/row_resize_cursor.png create mode 100644 demos/gtk-demo/s_resize_cursor.png create mode 100644 demos/gtk-demo/se_resize_cursor.png create mode 100644 demos/gtk-demo/sw_resize_cursor.png create mode 100644 demos/gtk-demo/text_cursor.png create mode 100644 demos/gtk-demo/vertical_text_cursor.png create mode 100644 demos/gtk-demo/w_resize_cursor.png create mode 100644 demos/gtk-demo/wait_cursor.png create mode 100644 demos/gtk-demo/zoom_in_cursor.png create mode 100644 demos/gtk-demo/zoom_out_cursor.png diff --git a/demos/gtk-demo/Makefile.am b/demos/gtk-demo/Makefile.am index d31e6bea59..f8b7c9f256 100644 --- a/demos/gtk-demo/Makefile.am +++ b/demos/gtk-demo/Makefile.am @@ -155,7 +155,43 @@ RESOURCES = \ css_pixbufs.css \ css_shadows.css \ cssview.css \ - reset.css + reset.css \ + alias_cursor.png \ + all_scroll_cursor.png \ + cell_cursor.png \ + col_resize_cursor.png \ + copy_cursor.png \ + crosshair_cursor.png \ + default_cursor.png \ + e_resize_cursor.png \ + ew_resize_cursor.png \ + grabbing_cursor.png \ + grab_cursor.png \ + hand_cursor.png \ + help_cursor.png \ + move_cursor.png \ + ne_resize_cursor.png \ + nesw_resize_cursor.png \ + none_cursor.png \ + no_drop_cursor.png \ + not_allowed_cursor.png \ + n_resize_cursor.png \ + ns_resize_cursor.png \ + nw_resize_cursor.png \ + nwse_resize_cursor.png \ + pointer_cursor.png \ + progress_cursor.png \ + row_resize_cursor.png \ + se_resize_cursor.png \ + s_resize_cursor.png \ + sw_resize_cursor.png \ + text_cursor.png \ + vertical_text_cursor.png \ + wait_cursor.png \ + w_resize_cursor.png \ + zoom_in_cursor.png \ + zoom_out_cursor.png + iconthemedir = $(datadir)/icons/hicolor diff --git a/demos/gtk-demo/alias_cursor.png b/demos/gtk-demo/alias_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..70a7956366bd9734cdc548d7de728c062fef9e3f GIT binary patch literal 1383 zcmV-t1(^DYP)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaAT-@Z*S7^Jha(|z>l z(d9@aauTortwqR-NHa4c_=4LfDHRRYJ^E~gyjT_d zt*s>-4)gf&V$+H$MKl`a$&)AS+O>B_H2&(*-rnBs zY&KhzPN!FNV45avZEak-bZG{7QA9QH?$hUQz#uE-$Kk_=--yLxKPQvP%>4ZP;z~9* zH(=KAyLqmg#ii!mM0#rWB_g@L)XX!Y70Bl`m&Wmt? zIPfhn1=IlddwO~{oIiga(=>Vb@F52d9N@u&2j2r9z08@xQdKJlB0%#i*xNuE;Ct$$ zZ`-zQvTa*u&z@CFON(N$m<9$0aa^78Vg zcs!16+uXZ%56iL$g+lDvvj?CN_`Sf~90HQn)zxZmZ`bzi+chyUA~0DH4gu=ko~|1L_J*-Uy_7dV1t}p8ERwbp85u zS(c@ViHTg+Uj{w|HWZp1;G4aB_sVr$ojG$xrKP1B8ynNPbLW&!r*jqX(0UN(khpN+ zf<{J0@)wkbh6W`P30=8zMJ!dx%Hh`h>W@lz*s%mO#sIRZ5q@;vv*RGLBBshNj zIKUUcWC3`VMepX#n|1f@UF9%1IH=;{VgWz!Pjgx~n81MF@7MnQ`?Y)bZW)Fl;Hy_5 pFXVabV5uE@z>mOB1@ygs_#3IrE{kMFH<$nb002ovPDHLkV1i;zd)@#5 literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/all_scroll_cursor.png b/demos/gtk-demo/all_scroll_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..b42ae85b3e188a3af2555dafa3ed96a955f93307 GIT binary patch literal 1776 zcmVbY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaA0yU63i0(Ad!KqZUZ(kMhuY;)0l`x0*0kVWZzZFl5GJNz^>g2?zW4oqoMz@ z+qJj*;3(&P{ZKBc-Rc+&PjbH8d(VA-=XuY4-V5CO(4|tTx=1AQK7hvo%mN_Y$NQ!y zt|&@95it?bg$oxx1F!%<(fgxImz(N2IJtznX*`4nt zB0hNVAOm0k+|ba#M8w_Q-CqM(^dKN40D47H_7M>uIB?*OxHcUQ2QxEYx^(G#0E=f5 zLIR*qCX=5N5jz}?3F6wUudin!;)@qAemheT5&*rbsz;ca>+9oV0J_o9(E}wVC7>KXV(r@Y?c1OC zcs%7UmkY;^9fQZ?X|vgEO#l=CH*Y&tc;|^kVm}e_-o1Mn06U#dcDvmH0Ph0W3}B;?5bSolPyLq@+R!BuiI4J6 zyVL1pkH;eecn!d^!NI|%OeXWUX7~8``1twr=RXJVB!Gp{X!JJ?007t4*0KuGzy^bX4;?zhM8v00pKbt9 z8jr_+$prwwJ9qA6Aq087-k$)J-un>a!`ufgj5IO)-JRW~(-n@BVo;-OHhYuevR37N{`l90E;-}7?J2$~Tm&+wB zSg@c>uh*B}x^+uG*?OnbiI$cY$!s>i-OPZ-b#|1s>0#$*<66i%1TZqlcKM$@4CTY*biU}03(3enpFf~EE`7YA%@NmpzGQD&B`0;N5T+U=Ny+@85`PpKze4(o9H2~pRvt|ix z!Mb(p(9zLB!C){{Q&aPeq9`5!e*lO97|(sVgzRtC+_JK=Dp{7j>2zAGU%xetrM zf^5E<0lWy{O#rU~s6sXe46#`3*Y@^yw%Kf)OeTfLTd^mgVr`#fzJf^Qqmdcp(U1DwPtIm6dnISFBjU(P&i2vK+ZB{_;$T zPk^YXsMrt)1g<8NNnx|u*km$sBoYyRzdu@9TKX}7SCIW2XH0wogvn%jZfI!8KQb~R zqS2@b1On0W^74<7&4ULbo)2MIwQAMIp`oF{U@#aq8ja04;*U&6{9Y)voG3Ay%}+CP zh0o`U0{9czc>No9@txlfKrY0i03HL70iYtA?RPDHKLFZV34rdlsP>mMt?>^yXWPlU S1%~7R0000_%Qwe literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/cell_cursor.png b/demos/gtk-demo/cell_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..0bb0935d5d68921714db88596ed88a136df2ecd8 GIT binary patch literal 1155 zcmV-}1bq96P)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaAhfw!2};<{|UJi8{@bq#~^A7MJjPC7euS| zDvDOtz8+@Qj-1txRT6T^7Y25B<~#4ZZ{EClV-X&fY0A9Iu@-u=P~(fm;?;OOJ}M$f z5y7_YN2yfmKHviNZbWo!9Ox~V%TG5qH|v>9Mpjlmd_;mi)@rq0(-$_TLJJ6l zh^TIizcvA{f_DO5461f(XaTscTOAx6jEV?KY5k>A=@~}}sNFn)iOMo!`p|p1KcK~d z)avT$y-KCxiimigCtF)veGjA{2>kT5U-QC@xa=H9eTEKPPN;aFl z16%<{fH7bS_=%VKhJG77v88rTP(`vTO#!GZDvsu`40hzLeN9k78K&=8Ov@clSBB*Zs1Hg2_AKOfuM z+rI-}0iOczp_d`CzP^4t1pg-R2|6gTjG7N7CMIsCQmM<;YBlD0Uc>JwrM&(9{bvgc z3%^cHOjLY$#vcS7W~JK<79yypa|6b?RNtB z5IApKeEd`s<8G%^Dm~oU**Tlb<&;v2;o)IsXJ@~enVHFLn4 z)Jw2!J7MN2qN6(q0(cyiZHEH<&bn#M5HSVa>8&(JkPsNyutV1>^A9|0GD6gp`+=+p5x zbcSoU4I2<<2?U*F{xRq;;VT?l;ms4Z3AN}{r7_HLf<+Pj2#B05t{|{oU V_h!oI-O2y}002ovPDHLkV1l2&1GNAE literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/col_resize_cursor.png b/demos/gtk-demo/col_resize_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..8dbd462bb09ce68db99c0e5a0202b9e8c696f596 GIT binary patch literal 1479 zcmV;&1vvVNP)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaAqnbvt)aA2L1@K*OoZ-Y-i=+4DQsXVyD5w^i#OhgrC%FCwAiImFDj$ctxMa} z#?$2FoV3k3?=JE|Oh2rS!3O=qb8*i5ywCslKIeV&2G+Eu|C59eTUL>?{@?JH9zTBk zu3;EYfH#5H04X~M$XQre__e2}XXi3GuVy|nGO|U}w4e||0Ph0@fF&!>0=zLdH>X6S z(W&d#uYU~W{Zj~OczF07P1F9=b=^z?8~};|+Y$hUnx;kO=H^5s5}CPr^=buRUjlY@ z=J)R1+Z>HX$3{m-7cO4BD3Soxz=mZ2T$-juu3Why?%%&3S5sw{P#Cn3&k)@px>qEWc0|NuaWo2c(vMj%S?AS3|EEY=)B#VxZkAG{o+hbO%)yO6{P1BN>muDA3psFhI zc$~9m&ssVYAII{Xh&b(=AJxcXxNM-?wjH@660h$)Q7sY*SNH=(N5B4-K*WWapUCa)2Dw1VyTK&P1Am~+wJw`<>mPOek4gk2!SL?W6gA=JaIhQYA{%Cr7IygEy8ZRy`7C<^ANqVKo ztl@AtM0a<$sjBK+OH0dFKpEgnEy)HH)zs7+Xm4-7HaR)DZvX!MmW-oEX=y1Qk7rdK zxO3+Y4<0;7KRX-_Zr!?N?%ut7;mnycKis@|vlkcw{z&CWfD?G{@ZrPFvMehPA3ikP zZg+YGr%s&`LI@EI2Gy0qFbvb@^QGrGoleo;-*3#$&cDFCO_Df;^Q3`J35)z#JCWtbNv zyS`{sr6GdlSVn>f2U6uKY z5a-XIPXU|+-bv=zGr|dMibkVqYip|*7#J`VMbTf@JR4%$i4!L-ghHXPs;a5muol>u zQ79Ewz^!RoMAvl@3Wc=F%F1g%6Y#;ym@k5;tE=;cLZL_!z{B#lp`639f*Lxuni97?UfVY+baD~I+-|Fk@zXZG__Qs0l)}>x%NC0slHZn3Yttd)h zaBy%Om;vnOXf!a hZ6)(Ht?56ZzX4>)W?2t9V literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/copy_cursor.png b/demos/gtk-demo/copy_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..c2350b817070a84d8df0f6de03cb58dbec7d656e GIT binary patch literal 1325 zcmV+|1=9M7P)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaAK#_DDXTm%V%UO0ig!UAuP4&Ye5u?Afz&|Ni~@ zfddEL0CdNk2SM;^6h#dYktm8}U|>K71_q?Rzh6$DJ}ud7RrTN!tE-DjrNWLKJFsmVV+@|>0U#m@=wgi_SoOH#IHp#sar5R)=H}+e=kr{- zas|t>*tTsO#bR+S{#F<8@ZrPi)~#D#dVH)@DlI=xPfsrkYdLouN5U|SJ0igM{cld3 zIPs1###&fdSak!fHG_kL>dcul6`&=;0tNw(W=MQs3P@JnaAahp@7lF%Jxt7C;UdS(^8OF`%)guGNlID)pIVS#N2r zmm84hdCInJ`uqFo>FH6P=e-7e1<+_T>^P1;qM0k}$8nsW4j(=&VHhr39LLhS&>kN* z#>mjnPz0O@QXM$~Ks6c-?%cV9h@h0h^E|q{ySaP!E=iK0R5Rb>IHu8Pz*2H|LVyC) z?CdNTFJ5d8C`B%pV|aL&dc97uSfpC5qLe~JsMTtUHQX1^!`oWxn$~(jYrSAuR=9uv z{=^s~*RNlfLZOgYmKC<<9mn|t*av^F@%8X|5CoYZ2sQ>murW!JZbY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaADNW&xsVXmw5%KPN!3@)oPCx78X)%qm7LX8jS`3)6>&w zT$r4kWNvOQGz{Yw@CEn+Uw2D&0VEbnB=Fm4$I~8Ti_?qi35lTv|6nn^Yil+;0AHJ$s#7 zTU$G&QmIN*Tb;xK*aJSqZI1vz8+Zro5}j&EyTJjlZJR>jPof;hae-IBXTVGF6~K=t zZ+APb*r170vo~UL1)S{?a2%&+uq>+sd;=Q9+iL`gzr@Ju|1-j|OF(xC^k*PO7~3=5 z4Ts)v4#Qvuj)GhSEXz7w0tqEJSpuh)0pIuA6B85XY}>{(Be`fcn{7_wQ34d!*Vmu5 z+wB7p5v_GttyVu;mh}|4M~=ry)?2I%TnFwG>G>HVarp#PfgK?Dmjo1W9=HKqC5rd} z_!>{XPsUQ@dCM6@l3XAbY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaAFTaDQda9;eFys;V+RK2B?ED^{yDcW-ZR2(SWXqY&2yP*s)T;bGd^ z+DJ=F%ir1A`36We3SnrWTm>;OFhFN#C+X?wj*X3tuYmhTAPfUsZpicK@9(FtuMfN3 z{@&W!+Lu5I5ETxDA%MR&0xkikgTk%_g7X{z6ck>@J_$#@$;;7cXu;9JWNhb z&Ibz%3r~P#Ao8CeB8>uEE&+hU;lN_CU^bhHj*ez=agn^dJo5ANKbo1D`Mt2P@H5~k zaAx!^2zfzCNr?a#5g8dNadB~CwOYmPcFW&M*L9hmo_+!-x0V5bva&M9#>P-pm9DNX zdV726=;-)iXlUpsv)O!XGMU6=GU;ZsIUpjx5?oT((sLQ8t*sSZ*QKVWMiLSd#AdU} z=H{k&z22ul5%4--2Oa_s2rj6YTLEZjXb@f3<@EGa^>{p@D2k+{q)2^zy=a;yO-)UW z1iirw+zUknH!!OUfX2o~5fNEjTwHfLou6x(Ce_u|q9}@FWMs&}!GRnc9C&~?xS>Nn z2QW7`C%Uf7?Ck6c@G($ubadp|+S(FDQ6x1rRa#nFL{(L(tgNgcIDWVCZHqte=BcTv zCE!Eg5s*AOI{H}CG^wblkffv}$;`}@qy3PdpyaFK)Nn?Ql3g1>Pm-17Y>R ziwI2wM@axZbY9jyf+e|6@Pm2+{08^{^@{t30m4xP&t_f=#rfj;@9PhmU`PG|nHjVI O0000cssview.css reset.css + + alias_cursor.png + all_scroll_cursor.png + cell_cursor.png + col_resize_cursor.png + copy_cursor.png + crosshair_cursor.png + default_cursor.png + e_resize_cursor.png + ew_resize_cursor.png + grabbing_cursor.png + grab_cursor.png + hand_cursor.png + help_cursor.png + move_cursor.png + ne_resize_cursor.png + nesw_resize_cursor.png + no_drop_cursor.png + none_cursor.png + not_allowed_cursor.png + n_resize_cursor.png + ns_resize_cursor.png + nw_resize_cursor.png + nwse_resize_cursor.png + pointer_cursor.png + progress_cursor.png + row_resize_cursor.png + se_resize_cursor.png + s_resize_cursor.png + sw_resize_cursor.png + text_cursor.png + vertical_text_cursor.png + wait_cursor.png + w_resize_cursor.png + zoom_in_cursor.png + zoom_out_cursor.png + gnome-fs-directory.png gnome-fs-regular.png diff --git a/demos/gtk-demo/e_resize_cursor.png b/demos/gtk-demo/e_resize_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..f06bf4620fef186f312f8488f1b235a0e9dd2b4c GIT binary patch literal 1289 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 hZ6)(Ht?56ZzX4>)W?2t9V literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/grab_cursor.png b/demos/gtk-demo/grab_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..a920eef1cd69da64fcfba6655c7b2284d7ac34c6 GIT binary patch literal 1392 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 literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/move_cursor.png b/demos/gtk-demo/move_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..6028099b66cb3e02d0772450c623c29a6e015117 GIT binary patch literal 1601 zcmV-H2EO@;P)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaAYa)B{MR;#r@T+XhpE@F()y?gh51W>yk5VH7pL_}R(T`P*qdFs?DVvNb1cqs@D zK*f_MPcAUVsI#;4KgH!dapD9q#>nMz{R}`^3aDA*vzLp3lku;v+%J0NF!dpk*z#5^9)4FD>+ z6WqLb+2rJ8XMKJBx!&GhoIQIsuR5dA2(?ebtIhhr>ZcM8m_w-vZbQ01BN> zrxHc+ZZ?~h+S=MSOuV_dnUcw*#PhtkbLYCi#56kW#7a0I&zZE2Z-f{1J=Af)4-fzeKqelK3kMG#JRXfk$DK|mGa8LK!XkXYU@+kJ z?b~d6dOBpWSiYLCJOm&MfMFR&TIt#(geUtiw6{x=`c>-FgF?uOUv4IVgf;LBt( z=>`x6@cT-YuhfaxH5!dM5D0iPnT%vK8dr7IQmK^m`0-=0s;cS}g-#h^W=- zPXXw#XxfVrFMv>~R3^XQKR!1%C$+S+EQs&gwTt5MxFiTdM6FgI1JJx);sp?DwYn`3 z2zX~_XC;HdKn)EI6pO_qK@g%lcI-F?;4S3-DXp7$0YpPX!@giJ$j{8oNbz`Fnw*^c zt-ikg_(qB^g{W+7Y}_x3Vjvt2N3>dP(UliNDf`40y^EiK*Va=AhPBFH(MgjL-0 zmjPG|QGwjgtG|%@u&l~t)&pSiyBuCz$2G@4Iw8YvAhIDG00000NkvXXu0mjff*{2x literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/n_resize_cursor.png b/demos/gtk-demo/n_resize_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..fbd842088dff10ecff09e1a24de980cdf1d23a5f GIT binary patch literal 1287 zcmV+i1^D`jP)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaADlksZgWhuNX}UZDrgPYfdG2&NAD^6@G(LLtNRhHM(d!@(2)O$C`kn$m1KU8dR20-$ zEcWB_@^XgDA**=x_V!9?c+&-ZXgOc(e${L?tJrL|8}K`a>gsBAT^GQ+z}uGXVpqV{ z*4A^M&-WxAkBf3jg%IlO>?|D}9n{y?OGQyi-j~zqR9042!W1Nau_~|ucSc7?zpSgP z^QTg&+d>GNl=9+iTU*OiHnxZJeBBUsa zj7FpB>FMc}WHR{@cn<6U*_;4|QXDgQC>0pKRD3`@akKz6_Z+&Vfs`c4QT#>dCYX1mwx zm61r~d}n9p&z6>!ho-?>rXIVgx2*9?WKyZrw?YUpHa2#plJj^xG7^cL@9ysY(b?Jg z3AwDlmf?zw7bDTt)zz3s;#$UoLI^Q3GE!0VDMI3{tCCR8&d#1lDTNS19v>f{$K!E5 zf6dL!y<)7Vr$@$OF;RF<(=;Kal#xi}_tw@{4^U0sRTOPRYinz_lgXrQb#?V=I2^uv zcz9T+X7s^Q~85$b;71#$7jAj$Y=$2NS78tXB#3Z7Z xkbec0M8J}>W6X+G7*VkrkY@gtov8me_ybY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaAqKko~yRaTY>+PKWcxy^O%;0{xX z+7w#4VM8Q1L&8prdRStZ9*BuC9Cnn033G{;9p*9&5gh9UJv1#TS?n~6G9BOom=M}* zG>ppL(zpMfX9wQ0u2?O?wu`^ym-pZAdA^_L_iLX&@ZA1qQ;NJ(0JX^XXEg~3<0^{* zD2t1W?TVsws;atSy_8d_)cnZE$jO5T5Bh-wkSzwFCX>n7l`B^)H*eltFMW<3J0`bm z+494V9XpN#VPFv>3*`l|WvZ&0hlYl@eEIUa0US7RK(SaX)xc{&4A3#MpccdyKChdl z)9DJJ3V4CM%ok>Wg@uLjOP4Oa+uhy0Cc*31ud8isZOhM6N(CsRV336XqNAhZle)UP zaJZ!S6{9&;uU@?>Y&IM7^Yc%1 zP169-b-gB&$&{5e{KsX0rRg$0Gcz+)Utj;(%*@O^pU)>94o68H3L#efvsMcrfei2{ z5{ZnvT&|PT)6+i>4i1(Ku~vXWhzD(LZKoAQS?uZQktUPrKLJ>VICJJqG7t!K3L(r# zj~-Q$$>h2MJh5JZK)|$j@7{hXrK6#tp)3>%0npOYf)E0)*Sltbq8SJT0_NJ<+V7>5 zF1OpgEbeqV>Fw>6eSLkhsj2DT0Wib|ve|5d+wCsPEzNuO?7{2x%1|gY84LzTuU)$) z4;?zRCV&+sFvPzD+#Zi-S$yZtoeT~Rim9ooh{xmUOC%D}U@+L~^?LWUw6rLRMBBAd0Zm7AMTdh`nKA%V?lQFm3{q5Y`+yme~Fs^CZsNHTqH90wX``o#6 zrRY6%dfw>s`A((N=}d2Luh_hKvm6;2$wnfP1)I&*4V(b>0X0B{;nmgE)%!+AM{i3h z<*r@3&ieiSuhQwXh{a;rSS*%JrBY&GU|<+H0=!CI=?m9q6JYJ?>iW37z5VlSHd~?V zdcx!Jd~@s8t-HWIU;>zDX`+IqO~y-BtM#qn;o&b@TU)<=`0(L)S65e^q9||cy1pSA zjV3N$ycmkbVt0XGfI0Furun7zFY;61z_!O`MRtmOM#(f1)y=~jJ z_iJiu9DogY2dD>{4X*><05;~gf81_I1vUUyv)TN*uIp96EHDN90i;-2%iMPBMI(zk zON*M>0G39(#k_At0df!~z+%9}fj^6g=l7)=o;!f#4mt4m!6bM8M1cHJDMrIwr%yAb d#JJ}Mz+d8M`!`;^J9Gd5002ovPDHLkV1i2iof-fD literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/nesw_resize_cursor.png b/demos/gtk-demo/nesw_resize_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..aa3bf68e0b28df65d5a223db3b318acbb3e43179 GIT binary patch literal 1248 zcmV<61Rwi}P)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaAwm)zC6_kF*6&bjwo;8wT#pT#vY+39qu78e&kA%wg`DOFKQ z>sl{KlGkK1JqC~iz@Gf}Tm$}`)9K{8ySpEcjg5VzR;%x9Y;1s1T6NLns6-Ou(lGoPOz5(zq0QF7G0VQQk06IJ#&l07S z&Ck!*1Xx{N{SH9)e*tg>p#kug&*$^XvP{Rv$EyOYtgL)r2|!iDs9cdT06Cpb7c&}- z8bSy-uAy443BYBuS)1GKehC0y4nhzFRUi;>>-G96tJTVFZEal}pq#jLI_*xSQooFh zjJyuu`6nR+LEtl)%-4lNflN(Jm4sZaRyUM_a#BU3(T9vNCW_*(CX?xnD+oal_;fn` zWuZ`@)6>%><_3d-`ThQh(q>tE~W=y)NWPJbcGGMSy7 zEirFzZ)bkLpIlyE7S7MlX?4yMx$XqpO2(csmsyP(FXu*0Nw`hB9z+kO;cDsFbdwY8qz#jlY04|Et63ffWKk9V4k9&K2 z%>eTC{=a4fTrL-5jIo7?W9D2=8WPhVObl;f*!Yiqj);8iG*xjBHrU|_*ukOYIl zh}mp@4}caGZq=e`GnDX`%&FE3DoPYZ3=R&eIF5UHb93|4iHV7;-93A4GbsH(3nc|5 zkB4$ygb#bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaA`Fv%7gU`I6f*chfw-7W89n&#E%>FFCl z|57rFVHm%iot>G{XjIP3%*f5nO&JUZB_IL0yu2)jhlgcfU!RObBGR%fb98jH4X6Or z=Za{zx3|}!P$&~PH#aA1YHBj|?Ch*;Zf=%<)HF>dlSzALXJ>11aq-v5$;l?*S+_^G zZQJVa@6QAd4i0Aa0T~K~q}S`s)W^riGL=f%rfG`1yE}7bWn~ z&@hZcA%wgy(9qD3B~V{qpH+v$VF^g5(KO^D1iqZC`4Ud9o5y<^z`&(0=-@@y}i9Cib5a|z~k`{3pCSRB@f1zmX_%1>SAwi4_((;SXdw!43bDBaJ${i&(9MK23cKQ%{#v+0U^Y{KA*3) zqM{=2g!T1x0Mh@jt*vF%@pwF|R#g=t#3z?hu7JF`x!LaM=%|~Tn$n)T0!m9ual75h z$;pYq$9F>(x$9DCY-~JfYis+-6RLU!aDDESY zLp&b;dt+nc9qyG-)B5PdtP#yzn2-Fy35O7E@0E0000<>&kwgm50fUF+kK&9w;Q684^+AoS&PUnpXnkGB7w7r6!i7 zrYMwWmSiZnd-?{X=%um)#icx5977@wzdgvv2;?;>{9m8v;Q(U3XA@9hV4VIv{5p`s N;OXk;vd$@?2>@XSEH(fD literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/not_allowed_cursor.png b/demos/gtk-demo/not_allowed_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..1305af8a29cb5ac56cd4b62c7e53a45137b832ac GIT binary patch literal 2280 zcmX9=2UL^G68=LoB0P$K0YUOCM+AW=pnym-0TLnfV&qa%fDlSd0w_fhQ4tFmMY60!- z8C(F^(Sb(Vc=%lZkx6m%7*&0<^}WR+Oa1ECW0I2NN_tOM9VqN+3Cp4~9i8Ev&W9Qq zA6HXOC_#^CxH_tuh&9}+y__8H(5}H0RVj*hWt^O(a|>P5aRw5y?m;q7o4XOgzlIdL zT|BIrm&p%)5@#I6W^tT}e+nADJ(FL*vYsa261*Q!Pt1Gppm=3V+_P4Y{jv?cBZ5N7 zRnye0_j@!`odj=ZdsHa8s-V)|46ti{1!>U%==8+n3$6m`xLr^jGlSvc|G?Pm}EObHa0e{fC1K=Y;9Zp0iE48 zj#6+yG3>S9vVrWXkM;r5(ThQLf2w=;xQ@-Qu5L&i?CW zF}^p??ELGxx*czlU<%e@k&#=Sc&_iMON%8Jzjdoqdt1zQC|z9&v?}%#>G5wWqLj{N z8g$gszdtQ5o|=A19*~8+vb>(&`EFDEW7Pe7Pj1ZCKPy5=M@NSQL9Vzbv>M-bL%yrK zyS>7bt*EW7klP~zLc4Fy;c#XJ0;Nx!^O;#$S)X0p+!kYiu)Gp`m7P>m%{_H>bq&0r zo}zMh7PABYq^rvz_3qu${(iS!*a6mnAXYqoj*^hD@mt$6UZki*B9UB?NU7|epw!gV zqO2@f6^^q!+jk(SW;B;!p1-qg#{B2_?z0#SUY&rkv1xIj@(d3=`S`#}DFg2)G&B^CM3$GAA5e64b!Dut zUYHXKg%FV>5ZWX=c^J?|Gs~JTZ{Vi$t{s!B4OeJqD7K^4( zgb%AJ!x+$eI!PS_ZDDLYIMm;dpQyjI)D_za%gMi!Cplo6|UQ zsuMOjIr*`#Z{g7~v4NS{rGTx?jfs_&m5!3KvUd#)4Pf$Q8v2(dCrceNGFqY$2n4#X zujbx-WN`3dDI3K{`sdZ;;Qu>m(7rn*|Uckx#3Q1?A;Z87-xY|U0n4j;IM>mg}8`KB( zLXLh0scL=lK6=P`IL7TU%Q)EVKv89J7xr$M+SXj7?3u zeoZt@z*8rq0W_#y%Ex}!svLgr=H}+WJlG#%TrwaCdCNT1ZpK<)U!Q? zcii5y8(@;M2SZIjuoWB*si&tW9JnmQ*Sk}Z#1-3I#9%OXSFSV(!P@d=4cy0+?ng7B zK)HwRyRNRns;c9gb3=NObo!D@R8(~pW!Ru!z>rD=BcFSOF79*j^V@eMwUx)?HA#z1 z64SZU+8kSW;%ZS*QCn(}XmSz{p6KBF#S~fp<7lQssaqfTJiQgJEP~IN=UP>obfLOo zoK@nTuYcuS{Mvf`EVxI{`?;vF5Y9X(xUE>E!^D&pt*^(ssazi(99&mz%U!kyk`BMS zY@94>t&&(8C!YV40HS9#G~|Oc-S=W2a#gX~HJ_Q#k*ez9?fnL%4`inj@

G`G%Ek zLBrZD+;Njc1i;;;c64=tOL%jcOMJ_e2Fs1{y;ti=W24{f{Cx80j~gBMmhNmLZcvZL zJ}oW%6UN5%r>XpAPVUJ_OUaLN{5Sv$oLMcg$$xr8H31_fnIa?d1UYQ&yt{Yz113|s zJBaS%;E-a+JotpgdNV~e-8|>*{kw)T{QPv~vuE);`C5rJjg$$WmL@5FlOf^NErbN( zPxoxDd-+gk-_!yE@B=mgO(4vYj(??~Sz}T#SPN{8@4*4F{vzv%yp*qY15>*`{W8i_ x2yJb9TaxBdY+d5qtTOHYorA literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/ns_resize_cursor.png b/demos/gtk-demo/ns_resize_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..acb1283d8e2067a5fcb550bed234a891dce098d1 GIT binary patch literal 1411 zcmV-}1$_F6P)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaAH)%MsU_kFFF>dcCf{(jd{C%+|AwW#+!h!v?!Fep;sFY3$0!ZEvAc!<^z)< zvB~mr-e(v2s7Vv6R@*)B@^W&X=lp)joAbOcaJ&!zu#Jt4a{wd&Ec@AO2?2n(ySw{C zDwT@P&(B{1Pz6AI9TEZnF&qwm&pD@+l@%V3$Ky9{+!zM%&S^^s0K}c0ooUWFjgOC$ zEX%a8u#l6ue3}wDxSexO6B85E(9l4wt*um3Q$vf3i##5W$FE<%K5`loIrw*+bDEr- zr26`Ls;jFby~=dD3#?yhbai#*ueDk&hKGj{i^ZPZym@ofZnwJtL;)y=5^%fS@9XvY zA0v^7E*gziCX-1u5iueXdU|@=hK7dVa5(b$4u=C5E?n4KTU+xp#<(B|#2Dj}Bqag( zMn*=ySzTTI8^FKCEU}b8Q&ZCu05$*($gHCpnRcroqF+nZtgo+co6Y850PFxr0N?;p z0RG9&s#0|&1+oR0nn8b z5Cnl|!9irc_5StdS(!r%n+!6>yGmw#enXphM zkBa7l1^j-0qoOFakw`>JBoYh&6h#p{9#3UCvR11-J2f?B>hA77V>BA0DwT==K%>#{ z2M-?nWwY5LDA9;Y#`5xVb26E9Q<<<@tp#n^;c%2orLC>4-(*=n2jI-1;Mq8P_3Bk~ zBof*7`Fx7WWFlFX^Fysx7YJyz+JgI|qobrK3SU}U`dy>ZTmsMvKzkGc34p<3u~-6u zfZyZsC`O~PvN9e**Xtz()Y;P8z;nLIPmu=;%1_cDtVt5jmaCKLA`gZTJfkZEbBI&dtsJ z4B#>{uiCNT$1xRE-E?*w3I4x`{{W1mOG8rA R^x*&i002ovPDHLkV1f=`bUFY4 literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/nw_resize_cursor.png b/demos/gtk-demo/nw_resize_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..669155771a01f80dbf4f66d3cdb8d17e773e4855 GIT binary patch literal 1545 zcmV+k2KM=hP)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaA zhhj9^SevINd3S%jSQ2NVR$=>NU$}qd<=%Hb=bU@bJrDlZzbq-nv&gYtQUDPiF##l5 zmOm6ilm~;s4FE!jHA4s?{%mS$x_tip`C%Xsh54O9bOV4iR!q5w1+O^QyZ+gM#)&7((;)(znCCS~Y+qNkRxA`Tc(7+_`hh0;Hv-(bd(Z zjE|2`A3uKlmdoV|pyoa*|0@OnwIZ%0^d^&uhYuersi~=QQBjfI<#LUp=6(vb07Yq4 z0L#ruNlC%sa46fhZJR49Dr)NM>l*}q2i$;M*7 z1qB5>c+}r{^;2RU9)C0NlNM_bnlW$j{FgfJjSA6G8}a z;lhRbmX?;f$;ru}&1Mt9U{I;7tZW882TlO*R8&-aD$DY0OG`^gtJN;_e&W)lOF~f; z;cz&v0dEj*Ps9UgZEd|Jgb<3NC|9mrX#>6h3W1z(h%;+yYQ78v0>Rqa+E)PS>FL7b z@hH>N)6dOj^Lv0PX5>$vJh@4hW#8D?SkUcu2Zx7;gP~AJ*}s4PxA*Sds}({h_4V~X zhCMF^wgXA11709{_I>Q2-Z*BH`xE zoA2-3xwCv`W@bw$6w-8bbUeF#`*yd(;mFl$wVU$u^Se+h+aNH4+9QbYy9_`^dwcs= z$BrHQ*yHgCA;e5!VWHjSat#1K0lxvyiP2Z+!g+cZC;`fVQs8h|S=j+#A8-J88!#>r zN)77S&+Y5$YabmQ9nZ_ly8(O#97b(Qqk6)Bd>5eZ)Rc(OhQeOX0|{YoUjXtFUPxgG zqrqUv%E`&e8yFY}0Dl300F$UafrwnNSPL&%XdWZKX0&0Wp(Tt*uGa#|sGC!VdKLRv v;!cQn#YX-omiQe{3r;K?xh0#C|AhVqf-)B%ztvI!00000NkvXXu0mjfS`)$@ literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/nwse_resize_cursor.png b/demos/gtk-demo/nwse_resize_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..183001db35dc29e0dd25740c38e9b6d3b017c8da GIT binary patch literal 1223 zcmV;&1UUPNP)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaAvt4O4B8W9D)JjQ$(fEZI zd#NKmwFjZCK??Drh_^u5Q!aZ@*vqo)5)c~Jp0u~1NWtKxm)20KRb%VN%<4vBYvRmw z)U@-?)5A!+-F%p24?WaByocePdEejjG0*b=x4PATEUwUoEXzGstM#6)>lVW>3cmNE zi0C)J-ye)dqvrq^0J`a$szMv8s=ifMSNGA<(h?YBMGp}K0XCbB&CJYv5sgM204@Mr zmI7T+J3Bj{5fRyJHiBtM-W3Q0$S@3=ot^y}z$XCO09aAPyCrFBYisl-06`E)*L7ol ze*RkkQvmt^ya9lJrOQhJaJ${4D2lPRwwB;|J_z7_01gxhYd%#>YOz?L>pD3cj@qWC zrV{{%0A!fSmroqZ2}>y<@Or(J$z<5!;o(mm9UU$JHTfFF4v>o-Q8!YREo8= zwdFwc_4SdWC`=T^@Avlh9vX&WjE#*^Bod*`&CQFMvCot+N=_}kmt zM~;q;q~qgb=5#u9Ao~0JNmW&57zRyDOb`HyL?X1YvGGeq0II594Gj%F2Jk6>_W(2x z4i0{Ba&q$g;NXBYH#g@%3=9m=^z`)K&lLmcx}F^$AAba341f#39RSq;8it35KTM@k zr-?*@H8wUDE!V{W3Kk-cp$EyHv*ANzz lH_#BwVWp&L`BwiQ{RR3TVq%+|Lv{cF002ovPDHLkV1jui8Pos( literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/pointer_cursor.png b/demos/gtk-demo/pointer_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..b510203e98d6793d3f54dd3205995546d4714314 GIT binary patch literal 1416 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 R^x*&i002ovPDHLkV1f=`bUFY4 literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/s_resize_cursor.png b/demos/gtk-demo/s_resize_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..5e6bf5076a8fe5a8c51a2490ad736e996f469748 GIT binary patch literal 1208 zcmV;p1V{UcP)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaAccK~z|U?UzAFBUc#5e>2G#YnYIx*xF*z2BM&L#e+-j z!6JwU?V(Z%E%ad51;vBVYlW8Lp|?_cD)v_Fr8yQYDCnVTBo`q|BbZXDg<$DoCnjoV zX5V`~Od`=u+!)tFY5(vMW+v}_zj^Qb-uDgs*QM1vE|bZa;c&P^2;qP9=#iGo<^JgI z?*0{!MN>}?^OEzUqoX^H<5;RpQcAVIzyAgB9AHrY%RN#0>FMd0>2%tS#bPQNjjCug zs^;eAl;b$AX_^B?2wyFe`Rf62UH92+HmhYane&^eR0_i|{J~(bBcIP70>{*_6?z>2 z2qCJD6GDW5Mrz!GdH^(~RMp9qQoiE6w+8SeT`Tx*1K?WvAK`J}Ko@`>f%e z0VOL*mHn2iGQi>CVK5Sjd@iMYUI?L=N4=C%GYq4zn)kJ}wTVb1@}_B;r#_!gmOnc< zIQX`!tLuBfrg%nF1ZZh#`74n~eACz0_d`=tlexUS%*n~gh5w{dsSDTHY?gRD4)ALE z{r>)b+S}XN-Q8X4?d{C~A>dEIsrC}!#YT93e*Ud|K7YKqxhYK3EMK~sY;0^y*|se= zHa3!mVcZAa0A8YoTA={}pmkOu_%E6 literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/se_resize_cursor.png b/demos/gtk-demo/se_resize_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..f6e4002aaa2935c974e12559a463c0c618a15111 GIT binary patch literal 1338 zcmV-A1;zS_P)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaAYBd3% zii!$aU0vnTXf!%LKK=oK>c2s-)6>&FS(Z5wk=1Jb#^G>`5fQ0WDgrVz)}A z`rd3dGXMyO!?mI)KA&xY=jZ450KAaR`%>iqUh#N5KXT5gx3`yYk@-|zT}>Ms8|g?S za@5z?_cnm4larH=IOl1L#UeAth=|B!GW}q&SZ1oZBv$L}@V~j2VW@cs_X0zFp4WPchehk2ymjKzq zKmg7G1a&&ymmZI2*=Dnm!C(LY92^`#uh$ELAiS#6>AqfASP+JXhZ)h$wuiDD035&> z0KZnNeYm!^2Aj?HE)lWC#YODy?xMZDUFh%c$Jp4|jm?4FiEtGnpw((0y4~)_cDtQ= zdU^l=o12>$9UaAO%<}*?ku?JA>+6+~NF=(w zz5T`B-rn8g7_={->tBUD1A(`ni1bp8Th z0Kk0!cYy4Lp@55;?>>On0lbJJx9kGCtTXljYyvm}kj@6cGIZ4dYVq_wPzrz~fCzvv wfH;7h8w$&qmLvZ?;JN@ZfE0jq=K0^(pZ5}BfGp0PkpKVy07*qoM6N<$f=g>j!vFvP literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/sw_resize_cursor.png b/demos/gtk-demo/sw_resize_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..1963383a5a4cbf0a3b3676b086e51d1f648e0691 GIT binary patch literal 1369 zcmV-f1*ZCmP)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaA=;Qok$;N4(1WAth;ropsjfr`Dbr3%JgjIkhX>84R;>vVO-GIdE3-KIn$(Yms-@^L&K|731%?t>F2PS_qk ze0X$qb@khdii(4PrO04nYHI4JuIsagVMtxqU-|J& zca&0Uet!Nthr>|~*tQrBkD+FEt@?%ixUoz7glcI`9Zjh!G&sZ?qp z7z`>v0V)^_s>#X8AH80$Zyji2Vq(BdAGrc$Z!!oq@a{P=MND2v6S1_uYF zVHj&YJw2Vk>*V*}R(rr?7>2przHm7FmECSX0$2gl?c2Al zZnt|NlgYf-*4Ad8ot*{1otvyjs4AhVPPTK+}zx^w6ru0 z%m9A?YkLML)QuZA&@@f>{r-=XQk*}3UW7s+0P5@O3(cp1pMhV21R(bf01yZS&@@c| z+`4tE(0sALd9N;b9qz#h$gbwH2DLkXw4S{{Nj$!ad1m zvoSn8tn7CCYHMrj^;j(S3oyQ&dC39N=`@|4ox)=@4!5{m~S#KIRL<& zJ9qH;e4??j@!dy{9$h(h?3jZh?|_m601OQc(ca!JTrSu9_wL>MrlzLmP4b7;D*;%C z@cDeAy1M$z=;&xqO-)VpRuKOPAQTFrl-jWk4Gm$l*@WBeJ~KKx`gK)RRV8qM4dK{R z8qUnjB>VdMK99%ahZBj!Yf{Rh1&t6Qm+NNpYI%A2bFbHXvbVQ)JsYxn0&qH=hq}AF z8?9Dr-05^Km6eqxrIfo`K_P^aQvP}W{{1Am6)=%I2{&a0z=7rE<-x+&aVZpyMkjz; zz(GC?yP82qM+ZWPeYJ}hFH%`q=>gopp>^+nEends1sq)W-f|B}DGis)r7m2!uyX;q zOEon$VHk!aS3wmm$;=}oBOQrE;zdaUpI0W6$p!*}?}1N&I&zzFO9~UYlIbMycK*5) zp^`uncmn(cJOkFY0uba%?sC8hl$8iT0cl_fcn;{m=Gt!qgq8={-N(f40J4CQ|CJ>e bbN~7ap9P1|p5{u*00000NkvXXu0mjfL5hNr literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/text_cursor.png b/demos/gtk-demo/text_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..53cec46b138a4f82a4a6148b7a4e6f340d6dff05 GIT binary patch literal 844 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zgi1h|@m`vI1yE43#5JNMI6tkVJh3R1p}f3YFEcN@I61K(RWH9NefB#WDWD<|kRr#@ zl8pQ!2Cu~I(jGIMhi zll5{-i!+lm5_59&lB@K=dW!W5G79XAvorH-%>#_5Ze(C!()4t342fucJ8fgORHDSO z`toh29($A(_;g#@)HAK8FJ{$LbY_3prf}})Sw3Ap*+0U&cF5dyVk<24TTo))Y}Jyd z8y7HXnW2}s@8wm?7u~yl(7QmRLVaQEyGH(Z)eq;rKmPmf$2|{DU$39`z{ov;lsMz+eQa6Onyx|{q$aLe*SmH-^Unt-Oc;^&EC zKln>iqooYuCMg-?%UQf2$M^+y2cr*D$asnD`1mEcj7%KX3bTYisM& z2lsmA`7UH_y}Xid)}YCO4b`UZdAY=AUI(gss+9V75uU_V0Gy8Jltj3C8EM zmetPJ_nM^AQ2c;n$C0D*3<~;;3Jsl$G#>9~@R4x{Z`bE8Sp12xhC%)S`v;zas;XU= z-hZDw(L=>BK3qgKL`Q7?`*-i`n3!}7vv&lozy5oJM&IeDpSWY%CZ_YYACCXbeDc<< zSp`K742v$m^zm96B-pX*HkY*-&w{YJ2ckxBjczI+sHn!|vU%%SkONXgp Uqj=vsV47p_boFyt=akR{079o^0ssI2 literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/vertical_text_cursor.png b/demos/gtk-demo/vertical_text_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..17241bcb54815de43d63f9bac3fba00cca468974 GIT binary patch literal 823 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zgi1h|@m`vI1yE43#5JNMI6tkVJh3R1p}f3YFEcN@I61K(RWH9NefB#WDWD<|kRr#@ zl8pQ!2Cu~I(jGIMhi zll5{-i!+lm5_59&lB@K=dW!W5G79XAvorH-%>#_5Ze(C!67h6#42fucJ9(qGbfUzu z`uUwMo}N-(S)R8KM!cBm`a+Gb)o1P!=QB|rftP${TK}}Sko_TV;kslytN2PuS3W^4 zHC4le)3UijzD0MwmtNQ=;9s<`WVigD)5m|?o&UV=gQEioG_Y^W)&E+xw=Kx4)JpdA zhYuel71S=?xO0c6e0Qv~m*(%k`|jp#|9s#|#{IeM495$v>FenQ{j8DGe0qB3%$ZCE zwvGEEqNAhx+!p6|9bL2{Y&HMXAo<3d7msbYz9luXU-z_-wY7ClZmwXbOWgdqb4{N= zd$#WHj@|3Dt>&K7ZrHom)@UZrtYxYV><;-k4G#+}bdQ`px^znLtYxW_iydpLYbW#HY{kUUv>1TYiVhzYWCJ!f)k{^e%j+;G_&SPhDpla zIR2Nr{FEks*uIT@X;5c#GxMdFC6COm{9p(=wes|7@0jbUrKO>K?ar%j=KK?Ix+A!w zzrx0D_Q{la(@v-QTo(EK`7=}h{3ntQnqQX(axCOIY@sFAJ)hzD^8Gh%+_+E@`~SgG zOS1znU%vFzn_j(o3KPf7Wj`fvu-5(JEvT#emt-KZW_#3HgN8(j((}ivS*CHd9{L@k z_4Ut>A3w5}2Hj-M>Zw_1s1hC)b}x1F&D7i5)^Fdwef8hE{Y*9Ag%$WR4hZLMvt!)H v_>P59$>G;Fkq@jH49%P-OhE9@em}zs_NShlS9FYl$&10$)z4*}Q$iB}7Mx&u literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/w_resize_cursor.png b/demos/gtk-demo/w_resize_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..65383b1f6ffc36c2ce90d79ceaad4fa21b9f6b56 GIT binary patch literal 1355 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 literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/zoom_in_cursor.png b/demos/gtk-demo/zoom_in_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..ae3114dde400c6a948d6bf01649d0e2849bf285b GIT binary patch literal 2289 zcmX9=dpy%^8^1T1QyBK-oH>;oS4a|}DO2Qpm=b2Q(Pp-viAPz;nK`_PCrb11lwuJ* zWt5@`;ZY%aP&p+bDW^&Adf)5wx$f(8-QVwZ-`D4R-GAH}?rz6qrPZVX0J1n|tfwfV zf4L+=v@+x4zlp*&rX$WjPyB)e7(-{fru+g{bsuP&NmD)kAiolzgwu~97m?yryuzD zkCGDWP17wwCMF=<0M+Gp%RABc_JFUG$J+O~p-W?9LD6(N5@616K*c?zN6@UN%kkq% z75yK@1#cY6+*W&paMj(}b>kQT>PmN|e~s_US!f%&@)L9r&u5u@UtKloCwqIKh#j$1 znj?iq^WBsARez>b>(IG83$>mH;*EF{O5;d0E9dBuG&xP3UTgVFj)_zeuVrx~$+$bF z-uT{B_m$n6GD-G6K0eU;SK`*!spChZ%M^Y&7Z~NBhI3Noq{OP zwn_94DRzCCO)O1IMTIU*u-hLs);zgs9^UJYQPHp!i8dH}5xIHcrk#Q`kjG+mDLqJT+vnQ9j&9Hi{ z`}+EJg9iG0M;)DrhzNXfrnmw-7^7mShx;IxCI;LC0;HTgl7uVsLg`i%FoNC5oqJnw zm$xl1=Idl959K7~GNAIWzxX*vb&s!!rlibC0eh5F%g~&w zAdojyIKIdc45>@lYpAL&^<1;Hp+FB$A)S^wmZsy=+CpLuXk@I_1l=Ra0zDR$^H!C; z3$$BbU!LqN)T@Y#i*r14=6Z^hoc7}U{P}{y!iuiGJ_&G&&yqb@wm=9d3Kx4I-6|dI zdW!NQL5=V?oa}=l*81Kq>mM9M00ToqM;fhm?cI}PyXLsa0Rx? zZ)$4N$#?$K^4VHOtv0YPno4A`ScY5!MKIDBsVtuSFG-Six~#dh$68EDnnNw4Az z*JY&d@2=l8P|Ub%5_n&4=5kSyCq`wG#UF(Qn}j|Ldzw&=a4)`mx$#GT#jztCt-~Zl zvi9uR=@%u??8{2>0gYTmg}nllpx6;{r4Gj%<84ql8DBswK56!O2 z&CR7cFKvHpVh9kRTUthj!-AkgvT1FbYfBRr)R6|MxhE;4@bJPOQbkeGj%!6l`{h!` z7tdI!ib?f@HOW@P8sFdFknWwI{~q6V(VpGd(C}qs1YhrO9Ja5-z|4%()zw9AOO=I| zJ~-{%j(9k}C@%rO=o}e2w~EkicPIv%@Yb=?($Wn=NACG~=-_B3S5I`~^LmZ>PoKVO z*v5Z5Gdw&T?#m0Jo)rHen*AP!KOJ@3+m>K#jzV{e7VMw!u&@(*Oic%`_K;c(GS97i zE=l;g^}{2eC>g-PBXP8U&EQvoK+s1UZK|xUu2w`jT|`UXgtF2am!WJO-*=rlsMOb z%j20<4@4ZcQp*t{yYClfVi3+dfG#@$JOeHOB^d5>xWjna4toLr5_x+d-VP~=tqp4F ziaDq`H9cK0G?z2>=)915;)|ghLhpu7sJ08roFG&rjDw|514hF$%XRkX*3{J01buz| zIart&a!lAK&f^7fznswbXm`|&iH$Y#t39@ca87R6 JTF2m|{{mFU{`CL= literal 0 HcmV?d00001 diff --git a/demos/gtk-demo/zoom_out_cursor.png b/demos/gtk-demo/zoom_out_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..846a3dd6b6b74dc64fdf803f98e52fe853cc85f1 GIT binary patch literal 2170 zcmV-=2!;2FP)bY*F7Wpd{G_b&hd05x<)Sad{X zb7OL8aCB*JZU9Mcc4cyOWn>_BVRC6SZDn&V zaA zN`uwJw23han(PQ-HN^N;HLX>DP+M!;U~n4jMpAdFA2CG>*i=nOW7O)x4j-u{@GTU>?@H|dj{+}v~S`<~}K=e+NEuYftg=kpnLI^AX>`f)fM z&Jjh?1OS}#L9JHn6a=9q6bju*O-&u1i@(VbW*Q6zgNr0d`kh9ju_}tf@7}#D^z`(I z0|Ns9fUK-6SS%L4apOixN=gzVk;q>dV^w;+{>%3zG6jsWpEAZ2r_-retya?O^#mYc z)9dxLW5*8a>+4e@k%*!w%E8$dH!T_)8zn_iKINSAs;Vl|YPC}))ai7j)9I%4YqeTB zb?Ovx&Ur8x{H(FDQF`C`1zDDBWLajLH*Z!Q3xYtUrKNQ9=1u#L@*dEo;0em~wvH=tvI&|nje}BKr;1LQ=ZmDLrxO4&o6Yp*%^TL;-QAg;o&5s<9{@-JAjO;s07L-E02b!w z=dW}+o&O#l9%d$!i2zVWMh5wOJ~lWw_}kdG(?a9(`CK(MH7fgth6X+|GBUDy_3DoR zq{bXfw+aD3^46_em%82VH`lIR<8ePWn~gjk&#M^ug!aOtM~^-vB3iR%4FRC+>}+C; zQAm;3Zlc|I5sgc!9-Cc0Ce=| zQ3?iw{$2=-rmTwXV3l&VBS~N6ai>N zQT$+dcvu}U8jW0%qyYdC0G6hvCJ@n#t*NOA0G0xv9I-O34qPQ&fy0fjV&Dz%1Hd|U{02%-g=luIGU%pfo&CJXc91e#M z(;ULoy1KffL`3nEyLRnbA|jGyxnPz_r$AAZm6IbXH#e7vh>jmW{u=;BB#0=T(P%96 z`FwKxTGa5#MDeF@02{Ev=~4kaE@hYug7Kp+sFKYxBHfNv!tpaEcc{P?lG zyStl7l0*P#!-fsSIp;)lc&?KZ(GkWNU$<_Z8iG!zlij;_&kmp%38Daq?u%*DrcJ*H zhr_J0vQiD76DLj(5pg2=B@s<~28c)^qF)gaKX&YxYQKN~eqxOA_3PJH1IWiTc|ZVQ z0Pw?>mX?2cy&YFhP($dIgvr%(%GfzrNnnJ?s^_I<~Kpa{`3yl(;PIua7vwiM% zyF-4zpEWl(^NNZJDl9A{v)N3UnVD2jP(ZtO?V{_~uk%14z`b5?$nW=u@7%fbwMhsu z5@rBD0&pxnJ-znq*|VS9?RJ-gwt*($dl{Zr{GWDG`bD=g%i3 zk%)~D+m3Gn_%49&#Z)n*q@>JSym+y}VzC%RQN-)lujMCCo{Y+}901@4FabcYTCFSU z>+3&$@Zf<|T3RY7iUL6pP+MDzg9i^rhK7bdG@H%s0B9yTL;$)N5hH*sL_^7d=&dFo zn*aR(MgR=No+$uUTCLXg_4V~1-@kuf+O}<*pePDNQG~PfRA$aYS$184<7h zbO06rFacNuU@?F^068&r(h;qkv@rrp0sO>jwO;f4{o&iUZ*#p~PZ=2*=Ys!*UcB&3 zgb1Qr